import {
    INCREMENT,
    DECREMENT
} from '../constant'

import store from '../store';

export const createIncrementAction = value => ({
    type: INCREMENT,
    data: value

})

export const createDecrementAction = value => ({
    type: DECREMENT,
    data: value

})


export const createWaitIncrementAction = value => {
   /*  return () => {
        setTimeout(() => {
            store.dispatch({
                type: INCREMENT,
                data: value
            });
        }, 1000)
    } */

    //异步action必须返回一个函数，并且函数是让store调用的，但是store还是希望这个函数中有dispacth，否则无法和reducer联系
    //其实在store调用异步action返回的函数时，就已经传入了dispacth方法，所以不需要重新获取
    return (dispatch) => {
        setTimeout(() => {
            dispatch({
                type: INCREMENT,
                data: value
            })
        }, 1000)
    }
}